﻿using System;
using System.Data.SqlClient;
using System.Windows.Forms;
using BUS;
using DAO;
using DevExpress.XtraEditors;

namespace QLKS
{
    public partial class frmDangNhap : XtraForm
    {
        public static object Hoten;
        public static object TenCV;
        public static object MaNv;
        public int count;

        public frmDangNhap()
        {
            InitializeComponent();
        }
        private void FailLogin()
        {
            count++;
            if (count == 3)
            {
                MessageBox.Show("Bạn đăng nhập thất bại quá 3 lần, chương trình sẽ tự đóng!", "Thông báo!",
                                MessageBoxButtons.OK, MessageBoxIcon.Stop);
                Close();
            }
        }
        private void frmDangNhap_Load(object sender, EventArgs e)
        {
            frmMain.frmDangNhap = this;
            try
            {
                string sql = ConnectionString.Text;
                using (var con = new SqlConnection(sql))
                {
                    con.Open();
                }
            }
            catch (Exception)
            {
                using (var f = new frmConnect())
                {
                    f.ShowDialog();
                }
            }
        }

        private void btnDangnhapClick(object sender, EventArgs e)
        {
            if (!dxValidationProvider1.Validate())
                return;

            SqlDataReader login = NguoiDungDAO.Login(txtUser.Text, null,null);
            if (!login.HasRows)
            {
                MessageBox.Show("Sai Tên đăng nhập!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                FailLogin();
            }
            else
            {
                login = NguoiDungDAO.Login(txtUser.Text, txtPass.Text, null);
                if (!login.HasRows)
                {
                    MessageBox.Show("Sai Mật Khẩu!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    FailLogin();
                }
                else
                {
                    var main = new frmMain();
                    if (frmMain._frmMain == null)
                    {
                        main.Show();
                        Hide();
                    }
                    else
                    {
                        Close();
                    }
                }
            }
        }
        private void btnThoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        public void dangnhap_Close()
        {
            Close();
        }

        private void txt_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
                btnDangnhapClick(sender, e);
        }

        private void btnDangKy_Click(object sender, EventArgs e)
        {
            //frmDangKy dk = new frmDangKy();
            //dk.ShowDialog();
        }

        private void btnQuenMK_Click(object sender, EventArgs e)
        {
            frmQuenMK quenMk = new frmQuenMK();
            quenMk.ShowDialog();
        }
        
    }
}